package exo5;

public class Ouvrage {
	
	public String titre;
	public String media;
	public int annee;
	public boolean disponible;
	public boolean  reservation;
	public Abonne emprunteur;

	public Ouvrage(String titre, String media, int annee, boolean disponible,
			boolean  reservation, Abonne emprunteur) {
		super();
		this.titre = titre;
		this.media = media;
		this.annee = annee;
		this.disponible = disponible;
		this. reservation = reservation;
		this.emprunteur = emprunteur;
	}
	
	
	public String getTitre() {
		return titre;
	}
	
	public String getMedia() {
		return media;
	}
	
	public int getAnnee() {
		return annee;
	}
	
	public boolean isDisponible() {
		return disponible;
	}
	public void setDisponible(boolean disponible) {
		this.disponible = disponible;
	}
	public boolean isReserve() {
		return  reservation;
	}
	public void setReserve(boolean  reservation) {
		this. reservation =  reservation;
	}

	public Abonne getEmprunteur()
	{
			return emprunteur;
	}

	

	@Override
	public String toString() {
		return "Ouvrage [titre=" + titre + ", media=" + media + ", annee="
				+ annee + ", disponible=" + disponible + ", reserve=" +  reservation
				+ ", emprunteur=" + emprunteur + "]";
	}


	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + annee;
		result = prime * result + ((media == null) ? 0 : media.hashCode());
		result = prime * result + ((titre == null) ? 0 : titre.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Ouvrage other = (Ouvrage) obj;
		if (annee != other.annee)
			return false;
		if (media == null) {
			if (other.media != null)
				return false;
		} else if (!media.equals(other.media))
			return false;
		if (titre == null) {
			if (other.titre != null)
				return false;
		} else if (!titre.equals(other.titre))
			return false;
		return true;
	}
	
}
